//Cyclone-Portal
//GAM 450 Final Project
//Gregory Dillon, Brian Gates, Kyle Chmielewski
//ParticleSystem.h
//Class .h file for the Particle system that holds the particles and
//the rod that connects them

#pragma once
#include <gl/glut.h>
#include <cyclone/cyclone.h>
using namespace cyclone;

//class ParticleSystem
//cretaes a particle system composed of 2 particles and a rod
//with methods for getting information about the particles
//and updates for position & drawing
class ParticleSystem
{
private:
   Particle particleArray[2];    //holds 2 particles
   ParticleRod *rods;            //rod to connect them
   Vector3 massPos;              
   Vector3 massDisplayPos;
   int radius;                   //radius of particles
public:
   float getRadius();            //get the radius of the particle
   Vector3 getPosition(int i);   //get the position of particle 'i' in the system
   void display(Vector3 portEntry, Vector3 portExit); //update the drawing of the system
   void update();                //update the position of the system
   void setPos(real x, real y, real z)    //set position of system
            {massDisplayPos.x = x;massDisplayPos.y = y;massDisplayPos.z = z;};
   void updateAdditionalMass();
   ParticleSystem(void);
   ~ParticleSystem(void);

}; //class ParticleSystem

 